﻿#region << 版 本 注 释 >>
/*----------------------------------------------------------------
 * 版权所有 (c) 2022   保留所有权利。
 * CLR版本：4.0.30319.42000
 * 机器名称：DESKTOP-UL84BU5
 * 公司名称：
 * 命名空间：KingerRobot.WanliQuartz
 * 唯一标识：9e3bde55-7544-49cf-a9dd-cbaa39e65e23
 * 文件名：WcsTask
 * 当前用户域：DESKTOP-UL84BU5
 * 
 * 创建者：zzl
 * 电子邮箱：1003590782@qq.com
 * 创建时间：2022/6/21 10:57:42
 * 版本：V1.0.0
 * 描述：
 *
 * ----------------------------------------------------------------
 * 修改人：
 * 时间：
 * 修改说明：
 *
 * 版本：V1.0.1
 *----------------------------------------------------------------*/
#endregion << 版 本 注 释 >>
//using KingerRobot.MexicoSailunMDC.Dao;
using System.Diagnostics;

namespace KingerRobot.MexicoSailunQuartz;

internal class WcsTask
{
    public void CreateWcsOutTask()
    {
        try
        {

            // 出库
            var outService = K8.RSF.Client.Create<IWarehousingOutService>();
            // 有货站台位
            outService.CreateTask();

        }
        catch (Exception ex)
        {
            K8.LSF.Client.Log(new K8.LSF.Log { Data = ex.ToString() });
        }
    }

    public void CreateWcsInTask()
    {
        try
        {
            K8.LSF.Client.Log(new K8.LSF.Log { Data = $"开始创建入库指令" });
            // 入库
            var inService = K8.RSF.Client.Create<IWarehousingService>();
            K8.LSF.Client.Log(new K8.LSF.Log { Data = $"开始创建入库指令1111" });
            // 有货站台位
            inService.CreateTask();
            K8.LSF.Client.Log(new K8.LSF.Log { Data = $"开始创建入库指令222" });
        }
        catch (Exception ex)
        {
            K8.LSF.Client.Log(new K8.LSF.Log { Data = ex.ToString() });
        }
    }


    /// <summary>
    /// 异常入库
    /// </summary>
    public void CreateWcsBeforeAbnormalTask()
    {
        try
        {
            // 入库前输送任务
            var service = K8.RSF.Client.Create<IWarehousingBeforeService>();
            service.CreateAbnormalTask();
        }
        catch (Exception ex)
        {
            K8.LSF.Client.Log(new K8.LSF.Log { Data = ex.ToString() });
        }
    }




    /// <summary>
    /// 定时同步状态异常的出库任务指令
    /// </summary>
    public void UpdateOutCmdStatus()
    {
        var taskService = K8.RSF.Client.Create<ITaskService>();
        K8.LSF.Client.Log(new K8.LSF.Log { Data = "开始执行定时修改指令状态" });
        try
        {
            var result = taskService.UpdateOutCmdStatus();
            K8.LSF.Client.Log(new K8.LSF.Log { Data = $"完成执行定时修改指令状态,{result}" });
        }
        catch (Exception ex)
        {
            K8.LSF.Client.Log(new K8.LSF.Log { Data = $"异常执行定时修改指令状态,{ex.ToString()}" });
        }

    }


    //public void CreateWcsBeforeTaskV1()
    //{
    //    try
    //    {
    //        // 入库前输送任务
    //        var service = K8.RSF.Client.Create<IWarehousingBeforeService>();
    //        service.CreateTask((long)EnumScannerLoc.One);
    //    }
    //    catch (Exception ex)
    //    {
    //        K8.LSF.Client.Log(new K8.LSF.Log { Data = ex.ToString() });
    //    }
    //}

    //public void CreateWcsBeforeTaskV2()
    //{
    //    try
    //    {
    //        // 入库前输送任务
    //        var service = K8.RSF.Client.Create<IWarehousingBeforeService>();
    //        service.CreateTask((long)EnumScannerLoc.Two);
    //    }
    //    catch (Exception ex)
    //    {
    //        K8.LSF.Client.Log(new K8.LSF.Log { Data = ex.ToString() });
    //    }
    //}

    //public void CreateWcsBeforeTaskV3()
    //{
    //    try
    //    {
    //        // 入库前输送任务
    //        var service = K8.RSF.Client.Create<IWarehousingBeforeService>();
    //        service.CreateTask((long)EnumScannerLoc.Three);
    //    }
    //    catch (Exception ex)
    //    {
    //        K8.LSF.Client.Log(new K8.LSF.Log { Data = ex.ToString() });
    //    }
    //}

    //public void CreateWcsBeforeTaskV4()
    //{
    //    try
    //    {
    //        // 入库前输送任务
    //        var service = K8.RSF.Client.Create<IWarehousingBeforeService>();
    //        service.CreateTask((long)EnumScannerLoc.Four);
    //    }
    //    catch (Exception ex)
    //    {
    //        K8.LSF.Client.Log(new K8.LSF.Log { Data = ex.ToString() });
    //    }
    //}

    public void PingEquipTask()
    {
        try
        {
            // 同步监控页面堆垛机任务
            var service = K8.RSF.Client.Create<IEquiqService>();
            service.PingEquip();
        }
        catch (Exception ex)
        {
            K8.LSF.Client.Log(new K8.LSF.Log { Data = "实施更新设备IP" + ex.ToString() });
        }
    }

    public void SyncScadaCrnTask()
    {
        try
        {
            // 同步监控页面堆垛机任务
            var service = K8.RSF.Client.Create<ITaskService>();
            service.SyncScadaCrnTask();
        }
        catch (Exception ex)
        {
            K8.LSF.Client.Log(new K8.LSF.Log { Data = "同步监控页面堆垛机任务" + ex.ToString() });
        }
    }


}